package com.test.dataSource.config;

import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;

/**
 * 在执行查询之前，设置使用的数据源，实现动态路由的数据源，在每次数据库查询操作前执行它的抽象方法determineCurrentLookuoKey()决定使用哪个数据源，
 * 为了能有一个全局的数据源管理器，需要引入DataSourceContextHolder这个数据库上下文管理器
 */
public class DataSourceRouter extends AbstractRoutingDataSource {
    public DataSourceRouter() {
    }

    @Override
    protected Object determineCurrentLookupKey() {
        return DataSourceHolder.getDataSourceKey();
    }
}
